#ifndef __M_LEVEL_H__
#define __M_LEVEL_H__

class LogLevel
{
public:
    enum class value
    {
        UNKNOW = 0,
        DEBUG,
        INFO,
        WARN,
        ERROR,
        FATAL,
        OFF
    };

    static const char* toString(LogLevel::value lv)
    {
        // #define TOSTRING(name) #name // 用宏连接字符串
        switch (lv)
        {
        case LogLevel::value::DEBUG:
            return "DEBUG";
        case LogLevel::value::INFO:
            return "INFO";
        case LogLevel::value::WARN:
            return "WARN";
        case LogLevel::value::ERROR:
            return "ERROR";
        case LogLevel::value::FATAL:
            return "FATAL";  
        case LogLevel::value::OFF:
            return "OFF";  
        }

        return "UNKNOW";
    }
};

#endif